#ifndef _STATIC_TRACKLET_
#define _STATIC_TRACKLET_

// Includes:
#include <sensor_msgs/CameraInfo.h>
#include "tracklet.h"

// -----------------------------------
class StaticTracklet : public Tracklet
// -----------------------------------
{
	protected:
		cv::Rect roi;
		cv::Rect guessRect;

	public:
	    // ---------------------------------------------------------
        StaticTracklet(int id, int width, int height) : Tracklet(id)
        // ---------------------------------------------------------
        {   
            // Set the ROI
            this->roi = cv::Rect(0, 0, width, height);
			this->guessRect = cv::Rect(-1, -1, -1, -1);
        }

		// ------------------------------------------------
		virtual void update(geometry_msgs::PointStamped pt)
		// ------------------------------------------------
		{
			// Do nothing
		}
		
		// ------------------
		virtual void update()
		// ------------------
		{
			// Do nothing
		}

		// ----------------------------------------
		virtual cv::Rect getROI(string&, ros::Time)
		// ----------------------------------------
		{
			return this->roi;
		}

		// ---------------------------------------
	    virtual bool contains(pcl::PointXYZRGB& pt)
		// ----------------------------------------
		{
			// This one contains everything
			return true;
		}

		// --------------------------------------
		virtual double dist(pcl::PointXYZRGB& pt) 
		// --------------------------------------
		{
			return -1.0; // Do nothing
		}

		// ---------------------------------------
		virtual cv::Rect guess(string&, ros::Time)
		// ---------------------------------------
		{
			return this->guessRect;
		}
};

#endif /* _STATIC_TRACKLET_ */
